热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

毒性|发生_路由基础之RIP的水平分割及触发更新

篇首语:本文由编程笔记#小编为大家整理,主要介绍了路由基础之RIP的水平分割及触发更新相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了路由基础之RIP的水平分割及触发更新相关的知识,希望对你有一定的参考价值。



RIP的水平分割及触发更新

原理概述:

1:水平分割(S plit Horizon)指的是RIP从某个接口接收到的路由信息,不会从该接口再发给邻居设备。这样不但减少了带宽消耗,还可以防止路由环路。在华为设备上,水平分割功能默认情况下是开启的。

2:触发更新(Triggered Updates)的原理是,当路由信息发生变化时,运行RIP的设备会立即向邻居设备发送更新报文,而不必等待定时更新,从而缩短了网络的收敛时间,在华为设备上没有命令能主动关闭触发更新的功能。

3:毒性逆转(Poison Reverse)指的是RIP从某个接口接收路由信息后,将该路由的开销值设置为16(即该路由不可达),并从原接口发回邻居设备。利用这种方式,可以清除对方路由表中的无用路由。如果同时都配置了毒性逆转和水平分割,水平分割行为会被毒性逆转行为代替。在华为设备上,毒性逆转功能默认情况下是关闭的,需要手动打开此功能。


RIPv1和RIPv2都支持水平分割,触发更新和毒性逆转功能、



下面我们开始RIP水平分割实验:

1:首先连接拓扑图:

路由基础之RIP的水平分割及触发更新_RIP

2:开始命令配置

路由基础之RIP的水平分割及触发更新_模拟实验_02

AR1:

interface GigabitEthernet0/0/0
ip address 172.16.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.2.254 255.255.255.0
#
interface NULL0
#
rip 1
version 2
network 172.16.0.0

这些基础命令在此就不过多介绍了

AR2:

路由基础之RIP的水平分割及触发更新_路由基础_03

路由基础之RIP的水平分割及触发更新_RIP_04

interface GigabitEthernet0/0/0
ip address 172.16.2.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.2.254 255.255.255.0
#
interface NULL0
#
rip 1
version 2
network 192.168.2.0
network 172.16.0.0


AR3:

interface GigabitEthernet0/0/0
ip address 172.16.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.1.254 255.255.255.0
#
interface NULL0
#
rip 1
version 2
network 172.16.0.0
network 192.168.1.0

3:我们的命令配置完毕后:

Ping一下我们看是否可以ping通

路由基础之RIP的水平分割及触发更新_路由基础_05

可以ping通后,我们开始验证路由的触发更新

查看AR1的路由表:

路由基础之RIP的水平分割及触发更新_路由基础_06

验证AR3与S1之间的链路

查看AR2的路由表:

没断开之前

路由基础之RIP的水平分割及触发更新_RIP_07

断开

路由基础之RIP的水平分割及触发更新_路由基础_08

路由基础之RIP的水平分割及触发更新_RIP_09

我们发现路由信息没有发生改变

那是因为断掉的不是AR1直连的接口,AR1无法直接感知到故障的发生,路由条目需要等待180s的老化计时器超时后,此路由条目才会在路由表中删除;

180s后我们再次查看AR2的路由表
路由基础之RIP的水平分割及触发更新_路由基础_10

我们发现此时192.168.1.0网段的路由已经从路由表中删除

我们尝试恢复AR3和S1之间的链路

路由基础之RIP的水平分割及触发更新_模拟实验_11

等待180s后我们查看路由表信息

路由基础之RIP的水平分割及触发更新_路由基础_12

我们发现路由信息又恢复到之前的状态

验证成功

接下来我们验证水平分割

路由基础之RIP的水平分割及触发更新_RIP_13

在AR2上使用debugging rip 1 send GigabitEthernet 0/0/0 命令打开debug功能,再用terminal monitor ,terminal debugging命令查看AR2发送给AR1的路由条目

路由基础之RIP的水平分割及触发更新_路由基础_14

路由基础之RIP的水平分割及触发更新_路由基础_15

上面是关闭水平分割功能

配置完成后查看debug信息

路由基础之RIP的水平分割及触发更新_路由基础_16

路由基础之RIP的水平分割及触发更新_模拟实验_17

从debug信息中可以观察到AR3发送给AR1的路由条目中包含有192.168.1.0网段,此时接口上的水平分割功能不生效。

验证毒性逆转

关闭debug,并在AR2上的G0/0/1接口上恢复水平分割功能

路由基础之RIP的水平分割及触发更新_路由基础_18

配置完成后,在AR2上开启debug功能

路由基础之RIP的水平分割及触发更新_RIP_19

路由基础之RIP的水平分割及触发更新_模拟实验_20

通过debug信息可以观察到,此时开启了水平分割后,AR2发送给AR1的路由条目中没有包含192.168.1.0网段

关闭debug,并在AR2上的g0/0/0接口上使用rip poison-reverse命令开启毒性逆转功能

路由基础之RIP的水平分割及触发更新_RIP_21

配置完成后,查看debug信息

路由基础之RIP的水平分割及触发更新_路由基础_22

路由基础之RIP的水平分割及触发更新_模拟实验_23

实验结论:

AR2发送给AR1的路由条目中包含了192.168.1.0网段,但是cost值为16,说明在毒性逆转和水平分割同时开启的情况下,简单的水平分割行为(从某个接口学到的路由再从这个接口发布时将被抑制)会被毒性逆转行为代替。

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人


推荐阅读
  • 本文是对《敏捷软件开发:原则、模式与实践》一书的深度解析,书中不仅探讨了敏捷方法的核心理念及其应用,还详细介绍了面向对象设计的原则、设计模式的应用技巧及UML的有效使用。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 如何在PyCharm中配置Python脚本的默认模板
    本文介绍如何在PyCharm中设置Python脚本的默认模板,以便每次创建新的.py文件时自动填充预设内容,提高开发效率。 ... [详细]
  • LeetCode 204: 计算质数
    本题要求计算小于给定非负整数n的所有质数的数量。感谢@mithmatt为此问题提供测试案例。 ... [详细]
author-avatar
伸手以后
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有